perm filename KERALS.TEX[WEB,ALS] blob
sn#731623 filedate 1983-11-27 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002
C00008 00003 %∞pagebrk∞tssec/English, Espanol, Francais/
C00026 ENDMK
C⊗;
% Selective loading macro; see usage below. If condition true, ignore all lines
% starting with \, {, or =. If not, restore this chars to proper meaning.
\def\LIFESAVER#1#2#3{\elt{#1}{\junkie}{\jnk}
\ifdimen\jnk pt#2#3pt{\gdef\jnk{\chcode'27=5}}
\else{\gdef\jnk{\chcode'134=5\chcode'173=5\chcode'75=5\chcode'27=0}}
\jnk}
\def\ENDLIFESAVER{\chcode'134=0\chcode'173=1\chcode'75=12\chcode'27=5} % ↔='27
% A few LISP-like macros for a change (should be in "Hacks" section!)
\let\setq=\xdef
% \eval{arg}
\def\eval#1{\setq\expandit{#1}\expandit}
% \apply{\function}{args}{\result}. Examples in LETMAC.
\def\apply#1#2#3{\eval{\def\getans##1{\gdef#3{##1#2}}}\getans{#1}}
% \elt{index}{list}{\ans}. See \LIFESAVER and also MULMAC.
\def\elt#1#2#3{\eval{\gdef\eltindx##1##2##3##4##5##6##7##8##9{###1}}\apply{\eltindx}{#2}{#3}}
% Init load table
\ifdimen\count0pt>10000pt{\xdef\junkie{\count00000}}\else{\gdef\junkie{111100000}}
%∞pagebrk∞tssec/English, Espanol, Francais/
\def\espanol{}
\def\francais{}
\def\english{\langrestore
\let\langcoderestore=\¬
\let\langrestore=\¬
\def\date##1{\gdef\todate{##1, 1983}}
\hyph 50}
\def\todate{}
\LIFESAVER2=1
\def\espanol{\langrestore
\makeacc{42}{\"}{16} % "=acute
\chcode'32=13\def\~{\accent'24 } % ~=tilde (never on an "i")
\def\langcoderestore{\chcode'32=12\chcode'42=12}
\def\langrestore{\langcoderestore\let\"=\umlaut}
\def\date##1{\gdef\todate{##1{} de 1983}}
\hyph 100}
\def\francais{\langrestore
\makeacc{140}{\`}{15} % `=grave
\makeacc{32}{\~}{17} % ~=circumflex
\makeacc{42}{\"}{16} % "=acute
\makeacc{42}{\+}{23} % \+=trema
\def\ccd{\c c}
\def\CCD{\spose{\char'30}C}
\def\<{\hbox{\:w h\hskip-1pt h\hskip.30em}}
\def\>{\hbox{\hskip.30em\:w i\hskip-1pt i}}
\def\langcoderestore{\chcode'32=12\chcode'42=12\chcode'140=12}
\def\langrestore{\langcoderestore\let\"=\umlaut\let\`=\grave\let\<=\mineur\let\>=\majeur}
\def\date##1{\gdef\todate{le ##1{} de 1983}}
\hyph 100}
\def\makeacc#1#2#3{\chcode'#1=13\def#2##1{\if##1i{\accent'#3\i}\else{\accent'#3##1} }}
\let\umlaut=\"
\let\grave=\`
\let\mineur=\<
\let\majeur=\>
↔ENDLIFESAVER
%Internal use:
\def\langrestore{}
%∞pagebrk∞tssec/Glue, Boxes, Alignment/
\let\==\hfil
\def\epoxy{\baselineskip0pt\lineskip0pt}
\def\lft#1{#1\hfill}
\def\ctr#1{\hfill #1\hfill}
\def\rt#1{\hfill #1}
\def\tp#1{#1\vfill}
\def\mid#1{\vfill #1\vfill}
\def\btm#1{\vfill #1}
\def\null{\hbox{}}
\def\spose#1{\hbox to 0pt{#1\hss}}
\def\ljustline#1{\hbox to size{#1\hss}}
\def\ctrline#1{\hbox to size{\hss #1\hss}}
\def\rjustline#1{\hbox to size{\hss #1}}
\def\lftcol#1{\vbox{\halign{\lft{##}\cr #1\cr}}}
\def\ctrcol#1{\ctrline{\vbox{\halign{\ctr{##}\cr #1\cr}}}}
\def\rtcol#1{\rjustline{\vbox{\halign{\rt{##}\cr #1\cr}}}}
\def\hquad{\hskip.5em{}}
\def\qquad{\quad\quad}
\def\xskip{\hskip 7pt plus 3pt minus 4pt}
\def\xxskip{\hskip 14pt plus 6pt minus 8pt}
\def\yskip{\par\penalty-50\vskip 3pt plus 3pt minus 2pt}
\def\yyskip{\par\penalty-100\vskip 6pt plus 6pt minus 4pt}
\def\zkip#1{\noalign{\vskip #1}}
\def\topspace{\hrule height0pt\vskip}
%∞pagebrk∞tssec/Underline, Boxit, Brace, th, Ellipsis/
\def\undertext#1{$\underline{\hbox{#1}}$}
\def\boxit#1{\vbox{\hrule
\hbox{\vrule\hskip\boxitsep
\vbox{\vskip\boxitsep #1\vskip\boxitsep}\¬
\hskip\boxitsep\vrule}
\hrule}}
\def\boxitsep{3pt}
\def\th#1{{$↑{\hbox{\:m #1}}$}}
\def\ldots{{.\≥.\≥.}}
\LIFESAVER3=1
\def\overtext#1{$\overline{\hbox{#1}}$}
\def\bigp#1{\mathopen{\vcenter{\hbox{\mathfnt\char'#1}}}}
\def\biglp{\bigp0}
\def\bigrp{\bigp1}
\def\bigglp{\bigp{22}}
\def\biggrp{\bigp{23}}
\def\biggglp{\bigp{40}}
\def\bigggrp{\bigp{41}}
\def\cdots{{\char'401\≥\char'401\≥\char'401}}
\def\ldotss{{.\≥.\≥.\≥}}
\def\cdotss{\cdots\≥}
\def\ldotsm{{\≥.\≥.\≥.\≥}}
\def\vdots{\vbox{\baselineskip 4pt\vskip 6pt\hbox{.}\hbox{.}\hbox{.}}}
\def\dnbrace{$\char'772$\bracex$\char'775\char'774$\bracex$\char'773$}
\def\upbrace{$\char'774$\bracex$\char'773\char'772$\bracex$\char'775$}
\def\bracex{\leaders\hrule height 1.5pt \hfill}
\def\pretzelit#1{$\left\char'656\vcenter{\hbox{#1}}\right\char'657$}
↔ENDLIFESAVER
%∞pagebrk∞tssec/Paragraphing, Verse/
\parindent 40pt
\parskip .075in plus 1pt
\def\lbrk{\=\linebreak}
\def\paraskip{\par\noindent{\parskip0pt\par}}
\def\displaypar#1{\paraskip
{\def\noindent{}\save9\hbox to size{}\ctrline{\hbox par .8wd9{#1}}}}
\def\displayypar#1{\paraskip
{\def\noindent{}\save9\hbox to size{}\ctrline{\hbox par .6wd9{#1}}}}
\def\ctrpars#1{\save9\hbox to size{}\save 8\hbox{\hskip\hpagesize\hskip-#1 wd9}\hmode
\parshape 1 .5wd8 #1wd9\!}
\def\endpars{\par\parshape 0{}}
\def\indentqin{\hangindent.25truein after 0 }
\def\indenthin{\hangindent.5truein after 0 }
\def\indentin{\hangindent1truein after 0 }
\def\indentpar#1#2{\noindent\hangindent #1 after 0\hskip #2\!}
\def\enumerate#1{\setcount7 #1\hangpar{\enumrfmt}\advnce7}
\def\enumrnext{\hangpop\hangpar{\enumrfmt}\advnce7}
\def\enumrfmt{\ifdimen \count7pt<64pt{\bf\count7.\quad}\else{\bf\char\count7.\quad}}
\def\itemize{\hangpar{\itemzfmt}}
\def\itemznext{\hangpop\itemize}
\def\itemzfmt{{\mathfnt\char'170}\hquad}
\def\hangpar#1{\if T\hangstack{}\else{\save8\hbox{\hskip\hangparind}}\noindent\hskip 1wd8\¬
\save9\hbox\hangfix{#1}\save8\hbox{\unbox8\hskip1wd9}\box9\hangindent1wd8\!}
\def\hangnxtpar{\noindent\hangindent 1wd8 after 0 }
\def\hanginit{\save8\hbox{\hskip\hangparind}\def\hangstack{T}}
\def\hangpop{\save8\hbox{\unbox8\unskip}}
\def\hangfix{}
\def\hangparind{0pt}
\def\hangstack{F}
\def\hangobj#1{\save9\hbox{#1}\noindent\hangindent 1wd9\box9\hskip 0pt\!}
\def\capitalpar#1#2{\save8\hbox{\capitalfmt{#2}}
\save9\vbox{\if2#1{\hbox{h}\null}\else{\hbox{h}\null\null}}\paraskip
{\parskip0pt\copy8\dontbrk\vskip-1ht9\hrule height0pt\dontbrk\noindent
}\hangindent1.3wd8 for #1}
\def\capitalfmt#1{\bigggfnt #1}
\def\verse#1{\ctrline{\lftcol{#1}}}
\def\dverse#1{\paraskip\ctrline{\lftcol{#1}}\noindent}
%∞pagebrk∞tssec/Rraggedd, NoJust, TypeWrite, Grfx/
\LIFESAVER4=1
\def\rraggedd{\def\1\
{}\def\
{\skip9\linebreak\null}% \CR
\chcode'15=13\hmode} % cr
\def\nojust{\penalty-1\def\ {\tabeffect}
\def\ {\hquad}\rraggedd % \SP
\chcode'11=13\chcode'40=13{}} % tab, sp
\def\typewrite{\ninepoint\tt\def\}{{\char'175}}\nofill}
\def\typnoi{\brkhere\noindent\typewrite}
\def\grafix{\:>\def\}{{\char'176}}\epoxy\nofill}
\def\grfx{\brkhere\noindent\grafix}
\def\ascfnt{\:<\def\}{{\char'176}}\nofill}
\def\ascii{\brkhere\noindent\ascfnt}
\def\gbox#1#2{\hboxpar#1{#2}} %VT=='13
\def\gboxnat#1{\vbox{\def\1
{}\let\
=\cr\tabskip0pt\halign{\lft{##}\cr\tabskip0pt#1\cr}}}
\def\nofbreak{{\par\brkhere\parskip0pt\noindent}}
\def\tabeffect{{\mathfnt\char'177}}% \TAB (surprise)
% ∞tssec/NoFill Macro -- Internal Use/
% Prepare for "nofill" text. Valid in any mode:
\def\nofill{\def\\{{\char'134}}\def\{{{\char'173}}\def\1\
{}\let\ =\tabeffect\def\
{\skip9\linebreak\null}% \CR
\chcode'1=12% ↓
\chcode'26=12% ⊗
\chcode'43=12% #
\chcode'44=12% $
\chcode'45=12% %
\chcode'136=12% ↑
\langcoderestore
\chcode'11=13\chcode'15=13\chcode'40=13{}} % tab, cr, sp
\specskip9 0pt plus 100pt
↔ENDLIFESAVER
%∞pagebrk∞tssec/Dimensions; Multi-Column/
\def\sethsize#1{\columnsperpage{1}{#1}{0pt}{#1}}
\def\setvsize#1{\computevsize{#1}{\hdngsize}}
\def\setmargin#1#2#3#4{\gdef\assmpage{\moveleft 1.0625truein
\hbox{\ddvnmsel{\hskip #2}{\hskip #1}
\vbox{\vskip-.9375truein
\if T\tpage{\vskip #3}\else{\vskip #4}
\frameit{\if T\tpage{\titpage}\else{\nrmpage}}}}
\normalpage}}
\def\magnify#1{\chpar12=#1
\computevsize{\epagesize}{\hdngsize}
\columnsperpage{\colsperpg}{\hpagesize}{\intercolglue}{\hsheetsize}}
\def\singlecolfmt{\endsheet
\gdef\mcol{F}
\gdef\endsheet{\endpage}
\output{\altoutput{\epoxy\save5\hbox{\hbox to\lftcolskip{}\page}\assmpage\advnce0\advcount6}}}
\def\multicolfmt{\endsheet\input mulmac }
\def\columnsperpage#1#2#3#4{\endsheet
\Maxhsize #2
\setq\colsperpg{#1}
\ifnum #1=1{}\else{\if F\mcol{\Error! Declare \multicolfmt}\else{}}
\setq\hpagesize{#2}
\setq\intercolglue{#3}
\setq\hsheetsize{#4}
\setq\varcoln{\colsperpg}}
%∞pagebrk∞tssec/Page Design, Numbering, Use, Styles/
\def\romannumbering#1{\setcount9 #1\neg9\setcount0\count9\advcount9 by 10100\setcount6\count9}
\def\arabicnumbering#1{\setcount0 #1\setcount9\count0\advcount9 by 10100\setcount6\count9}
\def\oneside{\gdef\ddvnum{F}}
\def\bothsides{\gdef\ddvnum{T}}
\def\endpage{\par\vfill\eject}
\def\bye{\endsheet\end}
\def\titlepage{\gdef\tpage{T}}
\def\normalpage{\gdef\tpage{F}}
\def\noheading{\endsheet
\computevsize{\epagesize}{\btmnrspace}
\gdef\nrmpage{\box5\cbotnum}
\gdef\titpage{\box5}
\gdef\headmark##1##2{}}
\def\fullpages{\endsheet
\computevsize{\epagesize}{0pt}
\gdef\nrmpage{\box5}
\gdef\titpage{\box5}
\gdef\headmark##1##2{}}
\def\botfnt{\teniu}
% Page parameters. Should not be altered
\topbaseline 0pt
\maxdepth 0pt
%∞pagebrk∞tssec/Internal Handling of Pages/
% #1 = total printing area, #2 = hdng (and footng) space; so, \vsize=#1-#2.
\def\computevsize#1#2{\setq\epagesize{#1}
\setq\hdngsize{#2}
\save9\vbox{\vskip #1\vskip-#2}
\if T\noejc{\gdef\noejc{F}}\else{\eject}
\Maxvsize 1ht9}
\def\cbotnum{\vskip 0pt
\vbox to
\btmnrspace{\btm{\hbox to
\hsheetsize{\ctr{\botfnt
\ifpos0{--\hquad\count0\hquad--}\else{\count0}}}}}}
\def\btmnrspace{.375truein}
% Do #1 if \bothsides and even page; do #2 otherwise:
\def\ddvnmsel#1#2{\if T\ddvnum{\ifeven0{#1}\else{#2}}\else{#2}}
\def\lftcolskip{0pt}
\def\frameit#1{\vbox to \epagesize{#1}}
\def\altoutput#1{#1}
% Only to initialize properly:
\let\endsheet=\endpage
\def\noejc{F}
\def\hdngsize{0pt}
\setcount80
\def\consnum#1{#1}
%∞pagebrk∞tssec/Hacks/
\chcode'272='3072
\def\trace{\chpar0=}
\def\jpar{\chpar1=}
\def\hyph{\chpar2=}
\def\ragged{\chpar8=}
\def\jjpar{\chpar15=}
\def\loose{\chpar14=}
\def\uchyph{\chpar16=}
\def\dontbrk{\penalty1000000{}}
\def\brkhere{\penalty-1000{}}
\def\hmode{{${}$}} % Enter horizontal mode
\def\¬{} % Kill spaces (dummy c. s.).
% Advance #1 +1 if \count#1 nonnegative; else by -1
\def\advnce#1{\neg#1\ifpos#1{\advcount#1}\else{\advcount#1 by -1}\neg#1{}}
% #1 = num; #2 = \var; to handle pseudo-counters (to spare some \count'ers for luser)
\def\addq#1#2{\setcount9 #2\advcount9 by #1\setq #2{\count9}}
% #2 = num; #1 = \var
\def\inivar#1#2{\xdef #1{#2}\addq{-1}{#1}}
\def\ifzero#1#2\else#3{\ifpos#1{#3}\else{\neg#1\ifpos#1{\neg#1 #3}\else{\neg#1 #2}}}
\def\neg#1{\setcount#1-\count#1}
\def\ifnull#1#2\else#3{\xdef\jnk{#1}\ifx\jnk\¬{#2}\else{#3}}
\def\ifnum#1=#2#3\else#4{\ifdimen #1pt=#2pt{#3}\else{#4}}
% \iterate{stmt}{\var}. See \endsheet.
\def\iterate#1#2{\ifdimen #2pt>0pt{\addq{-1}{#2}#1\iterate{#1}{#2}}\else{}}
% #1=fun, #2=arg@arg@...arg@@@
\def\mapc#1#2@{\def\jnk{#2}\def\junkie{@}
\ifx\jnk\junkie{\gdef\jnk{}}\else{#1#2\gdef\jnk{\mapc{#1}}}\jnk}
% local \xdef:
\def\edef#1#2{\xdef\jnk{#2}\let#1=\jnk}
\let\Maxhsize=\hsize
\let\Maxvsize=\vsize
\def\hsize{\Error! Use \seth(v)size.}
\let\vsize=\hsize
% Used for \send:
\chcode'174=0 |chcode'134=12
|def|ESC{\}
|chcode'134=0 \chcode'174=12
\def\close#1{\open#1=empty#1.tem }
%∞pagebrk∞tssec/Global Initializations/
\singlecolfmt
\sethsize{6.25truein}
\setvsize{9.125truein}
\setmargin{1.25truein}{1truein}{1.125truein}{.9375truein}
\noheading
\arabicnumbering{1}
\oneside
\normalpage
\english
\tenpoint
%Default loading patterns for the other sets:
\def\matmac{01100}
\def\papmac{013111000}
\chcode'27=12 % ↔ any char, as should